package praktikum4GastKomponente.Anwendungsfall;

import praktikum4GastKomponente.Datentyp.DGastEMail;
import praktikum4GastKomponente.Datentyp.DGastIstStammkunde;
import praktikum4GastKomponente.Datentyp.DGastName;
import praktikum4GastKomponente.Datentyp.DGastNr;
import praktikum4GastKomponente.Entitaeten.EGast;
import praktikum4GastKomponente.Verwalter.VGastServices;


public class AFGastServices{

	/**
	 * Makiert Ein Gast ALs Stammgast
	 * @param dGastNr Die Nummer des Gastes
	 */
	public static void markiereGastAlsStammkunden(DGastNr dGastNr) {
		praktikum4GastKomponente.Verwalter.VGastServices.markiereGastAlsStammkunden(dGastNr);
	}
	
	/**
	 * Erzeugt einen neuen Gast
	 * @param dGastNr Die Nummer des Gastes
	 * @param dGastName Der Name des Gastes
	 * @param dGastEMAIL Die EMail des Gastes
	 * @param dGastIstStammkunde Das Feld ist Standard False
	 * @return	Der neue EGast
	 */
	public static EGast erzeugeGast(DGastNr dGastNr, DGastName dGastName,
			DGastEMail dGastEMAIL, DGastIstStammkunde dGastIstStammkunde) {
			EGast eGast = new EGast(dGastNr, dGastName, dGastEMAIL, dGastIstStammkunde);
			praktikum4GastKomponente.Verwalter.VGastServices.erzeugeGast(eGast);
			return eGast;
	}

	/**
	 * Sucht Einen Gast Giebt das erste Ergebnis zurueck
	 * @param name Der Teilname Des Gastes
	 * @return Der EGast
	 */
	public static EGast sucheGastNachName(DGastName name) {
		return praktikum4GastKomponente.Verwalter.VGastServices.sucheGastNachName(name);
	}
}
